package com.wn.config;

import com.alibaba.druid.pool.DruidDataSource;
import com.wn.bean.Book;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @author yellow Docter
 * @date 2022 -07-08
 * @desc
 */
public class JdbcConfig {

    @Value("${jdbc.driver}")
    private String driverName;

    @Value("${jdbc.url}")
    private String url;

    @Value("${jdbc.username}")
    private String username;

    @Value("${jdbc.password}")
    private String password;


    /**
     *  DruidDataSource 这个对象中需要用到其他的依赖
     *
     *  可以直接从方法的参数中进行传递,ioc容器会自动装配
     * @param book
     * @return
     */
    @Bean
    public DruidDataSource druidDataSource(Book book){

        System.out.println("book = " + book);

        DruidDataSource druidDataSource = new DruidDataSource();
        // 设置连接四要素

        druidDataSource.setDriverClassName(driverName);
        druidDataSource.setUrl(url);
        druidDataSource.setUsername(username);
        druidDataSource.setPassword(password);

        return druidDataSource;
    }

//    @Bean
//    public DruidDataSource druidDataSource(){
//        DruidDataSource druidDataSource = new DruidDataSource();
//        // 设置连接四要素
//
//        druidDataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
//        druidDataSource.setUrl("jdbc:mysql://localhost:3306/spring_db");
//        druidDataSource.setUsername("root");
//        druidDataSource.setPassword("root");
//
//        return druidDataSource;
//    }
}
